package com.cw.jeeyt.dao.intf.system;

import java.util.List;

import com.cw.jeeyt.dao.model.system.SystemNoticeDo;
import com.cw.lang.mybatis.dto.PageInfo;

/**
 * 公告通知 dao数据库操作接口
 *
 * @author chenw
 * @version 1.0.0
 */
public interface SystemNoticeDao {
    /**
     * 查询所有公告通知
     *
     * @return 公告通知集合
     */
    List<SystemNoticeDo> querySystemNoticeList();

    /**
     * 删除公告通知
     *
     * @param systemNotice
     */
    void deleteSystemNotice(SystemNoticeDo systemNotice);

    /**
     * 修改公告通知
     *
     * @param systemNotice
     */
    void updateSystemNotice(SystemNoticeDo systemNotice);

    /**
     * 根据主键查询公告通知
     *
     * @param id 主键id
     * @return SystemNotice
     */
    SystemNoticeDo getSystemNoticeById(String id);

    /**
     * 新增公告通知
     *
     * @param systemNotice
     * @return 整数
     */
    Integer insertSystemNotice(SystemNoticeDo systemNotice);

    /**
     * 分页查询公告通知
     *
     * @param systemNotice 查询条件
     * @param startNum 开始条数
     * @param pageSize 每页长度
     * @return SystemNotice集合
     */
    PageInfo<SystemNoticeDo> queryByPage(SystemNoticeDo systemNotice, Integer startNum, Integer pageSize);

    /**
     * 根据是否发布加载通知公告列表
     *
     * @param isPublic 是否发布
     * @return
     * @throws Exception
     */
    List<SystemNoticeDo> querySystemNoticeList(String isPublic);

}
